Skip to content

sharing 7/7: Game modes export (widget, headless startscript, CI workflow) - #8095

Closed
keithharvey wants to merge 1 commit into
sharing/04-sharing-tab-uifrom
sharing/05-game-modes-export
Closed

sharing 7/7: Game modes export (widget, headless startscript, CI workflow)#8095
keithharvey wants to merge 1 commit into
sharing/04-sharing-tab-uifrom
sharing/05-game-modes-export

Conversation

@keithharvey

@keithharvey keithharvey commented Jun 25, 2026

Copy link
Copy Markdown
Collaborator

📚 The sharing stack — review bottom-up

Note

Part of native stack #8411 (feature tracking: #8412). Merges bottom-up through the GitHub stacked-PR UI once the type-migration stack (#8398) is in.

Each PR is file-partitioned: every file appears in exactly one PR in its final sharing_tab form, so each PR's diff is byte-identical to that branch. Regenerated deterministically by just bar::sharing-split.

Summary (LLM-generated, claude-opus-4-6)

Adds the export pipeline that makes game mode presets available to out-of-engine consumers (the SPADS ModeCommand plugin). A LuaUI widget (export_game_modes.lua) collects modoption defaults by section, overlays each modes/<category>/*.lua preset to build effective modOptions (with locked flags), and writes the result as structured JSON (game_modes.json, schemaVersion 1). A headless startscript enables the widget via debugcommands, runs /exportgamemodes, and quits. The CI workflow (export_game_modes.yml) runs on push to stable/master and workflow_dispatch, resolving the engine from launcher config, running spring-headless --isolation, validating the output, and publishing channel-rolling (game_modes-stable.json / game_modes-test.json) or commit-pinned assets to a game-modes GitHub release.

@github-actions

github-actions Bot commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

Integration Test Results

18 tests  ±0   10 ✅ ±0   20s ⏱️ ±0s
 1 suites ±0    8 💤 ±0 
 1 files   ±0    0 ❌ ±0 

Results for commit fc72c0d. ± Comparison against base commit bbb6a7c.

♻️ This comment has been updated with latest results.

@keithharvey
keithharvey force-pushed the sharing/05-game-modes-export branch from 551ce33 to 53d8685 Compare June 25, 2026 22:26
@keithharvey keithharvey changed the title sharing 5/5: Game modes export (widget, headless startscript, CI workflow) sharing 6/6: Game modes export (widget, headless startscript, CI workflow) Jun 28, 2026
@keithharvey
keithharvey force-pushed the sharing/05-game-modes-export branch from 53d8685 to d9338a6 Compare June 28, 2026 06:51
@keithharvey
keithharvey force-pushed the sharing/05-game-modes-export branch from d9338a6 to 8db58be Compare June 28, 2026 07:24
@keithharvey
keithharvey force-pushed the sharing/05-game-modes-export branch from 8db58be to d296056 Compare June 28, 2026 07:28
@keithharvey keithharvey changed the title sharing 6/6: Game modes export (widget, headless startscript, CI workflow) sharing 7/7: Game modes export (widget, headless startscript, CI workflow) Jun 28, 2026
@keithharvey
keithharvey force-pushed the sharing/05-game-modes-export branch from d296056 to 0bb62a9 Compare June 28, 2026 09:02
@keithharvey
keithharvey force-pushed the sharing/05-game-modes-export branch from 0bb62a9 to 8f05b99 Compare June 30, 2026 00:38
@keithharvey
keithharvey force-pushed the sharing/05-game-modes-export branch from 8f05b99 to 8bbeadd Compare June 30, 2026 01:30
@keithharvey
keithharvey force-pushed the sharing/05-game-modes-export branch from 8bbeadd to 5109455 Compare June 30, 2026 03:12
@keithharvey
keithharvey force-pushed the sharing/05-game-modes-export branch from 5109455 to af50b12 Compare June 30, 2026 04:42
@keithharvey
keithharvey force-pushed the sharing/05-game-modes-export branch from 647a89f to bbfb11b Compare July 15, 2026 20:28
@keithharvey
keithharvey force-pushed the sharing/05-game-modes-export branch from bbfb11b to b883068 Compare July 15, 2026 20:37
@keithharvey
keithharvey force-pushed the sharing/05-game-modes-export branch from b883068 to 87e2d44 Compare July 15, 2026 22:17
@keithharvey
keithharvey force-pushed the sharing/05-game-modes-export branch from 87e2d44 to 734be1e Compare July 16, 2026 03:11
@keithharvey
keithharvey force-pushed the sharing/05-game-modes-export branch from 734be1e to 182ddb2 Compare July 16, 2026 05:08
@keithharvey
keithharvey force-pushed the sharing/05-game-modes-export branch from 182ddb2 to d095e4e Compare July 16, 2026 10:53
@keithharvey
keithharvey force-pushed the sharing/05-game-modes-export branch from d095e4e to 32011f3 Compare July 16, 2026 12:06
@keithharvey
keithharvey force-pushed the sharing/05-game-modes-export branch from 32011f3 to 01905ea Compare July 16, 2026 19:28
@keithharvey
keithharvey force-pushed the sharing/05-game-modes-export branch from 01905ea to f6079ed Compare July 17, 2026 07:41
@keithharvey
keithharvey force-pushed the sharing/05-game-modes-export branch from f6079ed to a75c0ba Compare July 17, 2026 08:01
@keithharvey

Copy link
Copy Markdown
Collaborator Author

Superseded by the modules stack: sharing now ships as one de-noised PR — #8463 (modules — multiplayer 2/2: sharing v2), tracked in #8412. Closing this chain; the branch stays for reference.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant